<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // call、apply、bind在某个函数(方法)调用时候限定该函数内this的指向
        // 让一个对象去调用另一个函数
        // 函数.call(调用者,参数1,参数2,参数3)参数以逗号隔开
        // 函数.apply(调用者,[参数1,参数2,参数3])参数以数组的形式
        // call和apply调用指定函数会立即执行
        // bind为指定函数设定this后，会返回一个函数

        // 语法：
        // var result=函数.bind(调用者,参数1,参数2,参数3);
        // result()
        function show(){
            console.log(this);
        }

     
        var user={name:"达梓寒"};
        var user2={name:"高振远"};

        // show.call(user);
        // show.apply(user2);

        function show2(a,b){
            console.log(this);
            console.log(a+b);
        }
        // show2.call(user,100,200);
        // show2.apply(user2,[1000,2000]);//第二个参数会自行完成循环展开，将数组的元素对应的赋值给函数形参

        // var res=show2.bind(user,10,20);
        // res();

        show2.bind(user,10,20)();
    </script>
</head>
<body>
    
</body>
</html>